Skip to content

[#504] ProfileView 탭 모드를 content, detail로 수정한다#509

Merged
opficdev merged 4 commits into
developfrom
ui/#504-ProfileView
Jun 1, 2026
Merged

[#504] ProfileView 탭 모드를 content, detail로 수정한다#509
opficdev merged 4 commits into
developfrom
ui/#504-ProfileView

Conversation

@opficdev

@opficdev opficdev commented Jun 1, 2026

Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 의도

  • Profile 화면의 regular UI에서 detail 패널 동작 일관성 확보
  • Profile 관련 설정 진입 경로 복구
  • 각 탭의 split view content 컬럼 너비 정책 정리

📝 작업 내용

📌 요약

  • Profile 탭을 contentDetail 구조로 정리
  • Profile regular UI에서 활동 선택 시 detail 패널에 TodoDetailView 노출 방식 적용
  • Profile regular UI에서 toolbar 설정 버튼 탭 시 detail 패널에 SettingView 노출 방식 적용
  • Profile detail placeholder 문구를 Profile 문맥에 맞게 분리
  • Home, Today, Notification, Profile의 content 컬럼에 navigationSplitViewColumnWidth(min: 350, ideal: 450, max: nil) 적용
  • 불필요해진 mainTabSplitStyle 관련 분기 제거

🔍 상세

  • MainView

    • sidebarView(for:)selectedTab 직접 분기 구조로 정리
    • Profile 탭 regular detail 영역이 ProfileRoute의 현재 root에 따라 TodoDetailView 또는 설정 관련 화면을 표시하도록 구성
    • Home, Today, Notification, Profile의 content 컬럼에 동일한 split view width 정책 적용
  • ProfileView

    • compact / regular 레이아웃을 구분하는 구조로 정리
    • toolbar gear 버튼을 공통 배치로 변경
    • compact에서는 기존처럼 push(.settings) 유지
    • regular에서는 replace(with: .settings)로 detail 패널 교체 방식 적용
    • 활동 선택 시 compact는 push, regular는 replace 동작 적용
  • Localizable.xcstrings

    • profile_select_detail 추가
    • Profile detail placeholder를 활동을 선택해주세요. 문구로 분리

📸 영상 / 이미지 (Optional)

image image
설정 활동 체크

@opficdev opficdev self-assigned this Jun 1, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 PR은 프로필 탭의 일반(Regular) 레이아웃 지원을 추가하고, 화면 크기(isCompactLayout)에 따라 내비게이션 동작을 다르게 처리하도록 MainView와 ProfileView를 리팩토링합니다. 이에 대해 리뷰어는 profileRegularDetailView 전체를 하나의 NavigationStack으로 감싸 뷰의 구조적 ID를 유지하고 애니메이션을 개선할 것과, profileDestinationView의 .activity 케이스에서 SwiftUI 뷰 상태 재사용 문제를 방지하기 위해 .id(todoId)를 추가할 것을 제안했습니다.

Comment thread Application/DevLogPresentation/Sources/Main/MainView.swift
Comment thread Application/DevLogPresentation/Sources/Profile/ProfileView.swift
@opficdev opficdev merged commit d700ad9 into develop Jun 1, 2026
1 check passed
@opficdev opficdev deleted the ui/#504-ProfileView branch June 1, 2026 10:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ProfileView 탭 모드를 content, detail로 수정한다

1 participant